﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace thinger.MTHModbusLib
{
    public class ByteArray
    {
        //初始化
        private List<byte> list = new List<byte>();

        /// <summary>
        /// 返回数据
        /// </summary>
        /// <returns></returns>
        public byte[] Array()
        {
            return list.ToArray();
        }

        public void Add(byte value)
        {
            list.Add(value);
        }

        public void Add(byte value1, byte value2)
        {
            Add(new byte[] { value1, value2 });
        }

        public void Add(byte value1, byte value2, byte value3)
        {
            Add(new byte[] { value1, value2, value3 });
        }

        public void Add(byte value1, byte value2, byte value3, byte value4)
        {
            Add(new byte[] { value1, value2, value3, value4 });
        }

        public void Add(byte[] bytes)
        {
            list.AddRange(bytes);
        }

        public void Add(ByteArray byteArray)
        {
            Add(byteArray.Array());
        }

        public void Add(short data)
        {
            Add((byte)(data >> 8));
            Add((byte)(data));
        }

        public void Add(ushort data)
        {
            Add((byte)(data >> 8));
            Add((byte)(data));
        }

        public void Clear() 
        {
            list.Clear();
        }
    }
}
